---
title: ベストプラクティス',
image: /images/user-guide/tips/light-bulb.png
---

<Frame>
  <img src="/images/user-guide/tips/light-bulb.png" alt="Header" />
</Frame>

この文書は、バックエンドで作業する際に従うべきベストプラクティスを概説しています。

## Follow a modular approach

バックエンドは、NestJSを使用する際の基本原則であるモジュラーアプローチを採用しています。 コードを再利用可能なモジュールに分割し、クリーンで整理されたコードベースを維持してください。
各モジュールは特定の機能や機能をカプセル化し、明確なスコープを持つべきです。 このモジュラーアプローチにより、懸念事項を明確に分離し、不必要な複雑さを排除します。

## Expose services to use in modules

常に、コードの読みやすさと保守性を向上させる、明確かつ単一の責任を持ったサービスを作成してください。 サービスには意味のある一貫した名前を付けてください。 サービスには意味のある一貫した名前を付けてください。

他のモジュールで使用したいサービスを公開する必要があります。 他のモジュールで使用したいサービスを公開する必要があります。 他のモジュールへサービスを公開することは、NestJS の強力な依存性注入システムを通じて可能であり、コンポーネント間の緩い結合を促進します。

## Avoid using `any` type

変数を `any` として宣言すると、TypeScript の型チェッカーは型チェックを行わず、変数にあらゆる型の値を割り当てることが可能になります。 TypeScript は、値に基づいて変数の型を決定するために型推論を使用します。 `any` として宣言すると、TypeScript は型を推論できなくなります。 これにより、開発中に型に関連したエラーを捕捉しにくくなり、実行時エラーを引き起こし、コードのメンテナンス性、信頼性が低下し、他の人が理解しづらくなります。 TypeScript は、値に基づいて変数の型を決定するために型推論を使用します。 `any` として宣言すると、TypeScript は型を推論できなくなります。 これにより、開発中に型に関連したエラーを捕捉しにくくなり、実行時エラーを引き起こし、コードのメンテナンス性、信頼性が低下し、他の人が理解しづらくなります。

これがすべてに型を持たせるべき理由です。 これがすべてに型を持たせるべき理由です。 したがって、名前と姓を持つ新しいオブジェクトを作成する場合、操作しているオブジェクトの形状を定義する、名前と姓を含むインターフェースまたは型を作成する必要があります。
